#include <iostream>
#include<vector>
using namespace std;

int main() {
    int n;
    cin>>n;
    vector<int> v(n);
    for(int i=0;i<n;i++)
    {
        cin>>v[i];
    }
    int k,d;
    cin>>k>>d;
    vector<vector<long long>> f(n,vector<long long>(k+1));//以i结尾包含i，选j个人的最大乘积
     vector<vector<long long>> g(n,vector<long long>(k+1));//最小乘积
     for(int i=0;i<n;i++) 
     {
        f[i][0]=1;
        g[i][0]=1;
     }
     f[0][1]=g[0][1]=v[0];

     long long maxi=-0x3f3f3f3f3f3f3f3f;
     if(k==1) maxi=v[0];
    for(int i=1;i<n;i++)
    {
        for(int j=1;j<=k;j++)
        {
            if(i+1>=j)
            {
                for(int y=i-d;y<=i-1;y++)
                {
                    if(y>=0 &&y+1>=j-1)
                    {
                        if(v[i]>=0)
                        {
                            f[i][j]=max(f[i][j],v[i]*f[y][j-1]);
                            g[i][j]=min(g[i][j],v[i]*g[y][j-1]);
                        }
                        else if(v[i]<0)
                        {
                            f[i][j]=max(f[i][j],v[i]*g[y][j-1]);
                            g[i][j]=min(g[i][j],v[i]*f[y][j-1]);
                        }

                    }
                }
            }

           
            
           if(j==k) maxi=max(maxi,f[i][j]);
        }
    }
    cout<<maxi;
    return 0;

}